Given the increasing popularity of the World Wide Web, content providers continue to look for better and faster ways to present information to users. Web pages are typically written in HyperText Markup Language (HTML), which defines how a web page looks and how a user is able to interact with the web page. The written HTML code is generally stored on a web server, where it may be accessed by a user via a software application called a web browser resident on the user's computing system. Upon a user specifying a URL address of a desired web page, a web browser connects with the web server hosting the web page, fetches the HTML code for the page from the web server, and interprets the code together with any client-side scripts to construct the web page on the user's display.
Once a web page is displayed to the user, a user may generally interact with the web page via the browser to request additional web pages or other resources. These further requests for resources are referred to as post-backs, and a post-back together with the server response are referred to as a round trip. The life cycle of a web page is a single round trip. That is, every time a web server responds to a post-back page request, the web server freshly recreates the resources and information states required to display the new page. The resources and state information of the previous web page are lost when the new web page is generated.
Having to regenerate the resources and state information of a web page upon each post-back can present delays in presenting a web page. This may be especially true for current enterprise service provider web applications, which are designed to provide a great deal of information and interactivity to users. Consequently, these web applications require a significant amount of data and resources to be transferred each time a web page in the application is constructed and displayed. For example, two popular web applications today are Hotmail® web-based e-mail service and Windows Live Messenger instant messaging service. While web applications such as these generate web pages offering a large number of features and rich interactivity to users, they use a lot of data and bandwidth to initialize and generate their web pages. Having to reinitialize and regenerate resources and state information for web pages in applications such as these on each post-back can result in an appreciable delay in the loading of new web pages.
It is also known for two or more web applications to collaborate together so that features of one are combined in the other. For example, a Hotmail web page may include Messenger instant messaging features such as for example to add presence and chat capabilities to email. The consequence of this collaboration is that, upon accessing a new web page in one web application, the resources and state information for both web applications need to be reinitialized and regenerated. This can result in an even further delay in the loading of new web pages.